package logica;

import java.io.Serializable;

import javax.persistence.*;

import java.util.Calendar;
import java.util.List;


/**
 * The persistent class for the PAGO database table.
 * 
 */
@Entity
@Table(name="PAGO")
@NamedQuery(name="Pago.findAll", query="SELECT p FROM Pago p")
public class Pago implements Serializable {
	private static final long serialVersionUID = 1L;
	private int idPago;
	private Calendar fechapago;
	private Factura factura;
	private double importe;
	private List<Itempago> itempagos;

	public Pago() {
	}


	@Id
	@SequenceGenerator(name="PAGO_IDPAGO_GENERATOR", sequenceName="SECUENCIA")
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="PAGO_IDPAGO_GENERATOR")
	@Column(name="ID_PAGO", unique=true, nullable=false, precision=38)
	public int getIdPago() {
		return this.idPago;
	}

	public void setIdPago(int idPago) {
		this.idPago = idPago;
	}


	@Temporal(TemporalType.DATE)
	@Column(nullable=false)
	public Calendar getFechapago() {
		return this.fechapago;
	}

	public void setFechapago(Calendar fechapago) {
		this.fechapago = fechapago;
	}

	
	
	@OneToOne
	@JoinColumn(name="ID_FACTURA", nullable=false)
	public Factura getFactura() {
		return this.factura;
	}

	public void setFactura(Factura i) {
		this.factura = i;
	}


	@Column(nullable=false, precision=126)
	public double getImporte() {
		return this.importe;
	}

	public void setImporte(double importe) {
		this.importe = importe;
	}


	//bi-directional many-to-one association to Itempago
	@OneToMany(mappedBy="pago")
	public List<Itempago> getItempagos() {
		return this.itempagos;
	}

	public void setItempagos(List<Itempago> itempagos) {
		this.itempagos = itempagos;
	}

	public Itempago addItempago(Itempago itempago) {
		getItempagos().add(itempago);
		itempago.setPago(this);

		return itempago;
	}

	public Itempago removeItempago(Itempago itempago) {
		getItempagos().remove(itempago);
		itempago.setPago(null);

		return itempago;
	}

}